
//3255.长度为K的子数组的能量值II
class Solution {
public:
    vector<int> resultsArray(vector<int>& nums, int k) {
        //使用分组循环，将连续递增的数据分为一组，当该组的长度>=k的时候就可以将最大元素放入即nums[i]
        //根据放入元素下标可以与返回结果下标建立联系,nums[i]放在i-k+1的位置
        
        if(k==1) return nums;  //对于k==1就不需要找子数组，直接进行返回即可
        int n=nums.size();
        vector<int> ret(n-k+1,-1);   //将数组初始化为-1
        int i=0;
        while(i<n)
        {
            int start=i;    //记录起始位置
            i++;
            while(i<n&&nums[i-1]+1==nums[i]) 
            {
                //子数组长度为i-start+1;
                if(i-start+1>=k) ret[i-k+1]=nums[i];  //当子数组长度大于等于k时就可以进行插入
                i++;
            }
        }
        return ret;
    }
};